package com.dsj.gxrd.modules.people.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dsj.gxrd.modules.people.domain.dto.RdUserInfoCockpit;
import com.dsj.gxrd.modules.people.domain.entity.RdUserInfo;
import com.dsj.gxrd.modules.people.domain.query.RdUserInfoQuery;
import com.dsj.gxrd.modules.people.domain.vo.CwhRepresent;
import com.dsj.gxrd.modules.people.domain.vo.RdUserInfoRepresentVo;
import com.dsj.gxrd.modules.people.domain.vo.RdUserInfoStatisticsVo;
import com.dsj.gxrd.modules.people.domain.vo.RdUserInfoVo;
import com.ruoyi.common.core.utils.PageInfoUtil;

import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * @author songpin566
 * @date 2023/09/21
 **/
public interface RdUserInfoService extends IService<RdUserInfo> {

    PageInfoUtil<RdUserInfoVo> list(RdUserInfoQuery userInfoQuery);

    RdUserInfoVo selectUserById(Long userId);

    List<String> getUserInfoNamesByIds(Collection<Long> userIds);

    List<RdUserInfoCockpit> cockpit();

    RdUserInfoRepresentVo representative();

    RdUserInfoStatisticsVo middleRepresentative(Long deptId);

    Map<String, List<CwhRepresent>> cwhRepresent();

    List<RdUserInfo> getUserInfoByIds(Set<Long> userIds);

}
